Trees: 

1. Binary trees
2. Proper binary tree
3. DFS (Stack-based or recursive) + BFS (Queue-based)

- In-order traversal application: AlgoExpert problem about finding kth largest values in a BST
In-order traversal of a BST yields a list of values sorted in ascending order

- LeetCode 700: Find a target value in BST

- Construct a binary search tree (LeetCode 108): recursively


proper binary tree => nE = nI + 1

n nodes = n edges + 1

nE + nI = 0nE + 2nI + 1 => nE = nI + 1

